package cn.com.duiba.millionaire.center.biz.service;

import cn.com.duiba.millionaire.center.api.dto.MillionaireMainMeetingDto;
import cn.com.duiba.millionaire.center.api.requestParam.MillionaireMainMeetingRequestParam;
import cn.com.duiba.millionaire.center.biz.entity.MillionaireMainMeetingEntity;

import java.util.List;

/**
 * Created by sty on 1/20/18.
 */
public interface MillionaireMainMeetingService {

    /**
     *
     * countMillionaireMainMeetingList:(这里用一句话描述这个方法的作用). <br/>
     * 统计冲顶主会场条数
     * @param param
     * @return
     * @since JDK 1.8
     */
    Integer countMillionaireMainMeetingList(MillionaireMainMeetingRequestParam param);

    /**
     *
     * getmillionaireMainMeetingList:(这里用一句话描述这个方法的作用). <br/>
     * 统计冲顶主会场数据
     * @param param
     * @return
     * @since JDK 1.8
     */
    List<MillionaireMainMeetingDto> getMillionaireMainMeetingList(MillionaireMainMeetingRequestParam param);

    /**
     *
     * findMillionaireMeetingById:(这里用一句话描述这个方法的作用). <br/>
     * 根据id 查询主会场信息
     *  MillionaireMainMeetingDto 中  加一个 list<MillionaireActivityDto> 变量  来存放 分会场信息 一个接口把 所有信息 返回出来
     * @param id
     * @return
     * @since JDK 1.8
     */
    MillionaireMainMeetingDto findMillionaireMeetingById(Long id);

    /**
     *
     * delete:(这里用一句话描述这个方法的作用). <br/>
     * 根据id 删除 主会场
     * @param id
     * @return
     * @since JDK 1.8
     */
    Boolean delete(Long id);

    /**
     *
     * saveOrUPdateMillionaireMainMeeting:(这里用一句话描述这个方法的作用). <br/>
     * dto 中id为null 时  为新增  有值 为更新
     * activityIds 是分会场id
     *
     * 保存成功  true  失败false
     * @param dto
     * @param activityIds
     * @return
     * @since JDK 1.8
     */
    Boolean saveOrUpdateMillionaireMainMeeting(MillionaireMainMeetingDto dto ,List<Long> activityIds);

    /**
     * 批量查询,使用注意点:该方法查询sql中只要了id和title的属性值,后面有使用该方法要注意
     *
     * @param ids
     * @return
     */
    List<MillionaireMainMeetingEntity> findByIds(List<Long> ids);

}
